// 工作状态测试脚本
const http = require('http');

function testAPI(path, data) {
    return new Promise((resolve, reject) => {
        const postData = JSON.stringify(data);
        
        const options = {
            hostname: 'localhost',
            port: 8080,
            path: path,
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Content-Length': Buffer.byteLength(postData)
            }
        };
        
        const req = http.request(options, (res) => {
            let responseData = '';
            res.on('data', (chunk) => {
                responseData += chunk;
            });
            res.on('end', () => {
                try {
                    const parsed = JSON.parse(responseData);
                    resolve({ status: res.statusCode, data: parsed });
                } catch (e) {
                    resolve({ status: res.statusCode, data: responseData });
                }
            });
        });
        
        req.on('error', (e) => {
            reject(e);
        });
        
        req.write(postData);
        req.end();
    });
}

async function runWorkingTests() {
    console.log('🚀 测试服务工作状态...\n');
    
    try {
        // 测试1: 基础API
        console.log('1️⃣ 测试基础API...');
        const basicTest = await testAPI('/api/test/deepseek', {
            prompt: '你好，请介绍一下你自己'
        });
        console.log('状态码:', basicTest.status);
        console.log('响应:', JSON.stringify(basicTest.data, null, 2));
        
        if (basicTest.data.success && basicTest.data.data) {
            console.log('✅ 基础API工作正常！');
            console.log('🤖 AI回复:', basicTest.data.data);
        } else {
            console.log('❌ 基础API有问题:', basicTest.data.message);
        }
        
        console.log('\n' + '='.repeat(50) + '\n');
        
        // 测试2: 柯南角色扮演
        console.log('2️⃣ 测试柯南角色扮演...');
        const conanTest = await testAPI('/api/test/roleplay', {
            character: '柯南',
            prompt: '你好，请用柯南的语气和我对话'
        });
        console.log('状态码:', conanTest.status);
        console.log('响应:', JSON.stringify(conanTest.data, null, 2));
        
        if (conanTest.data.success && conanTest.data.data) {
            console.log('✅ 柯南角色扮演工作正常！');
            console.log('🎭 柯南回复:', conanTest.data.data);
        } else {
            console.log('❌ 柯南角色扮演有问题:', conanTest.data.message);
        }
        
        console.log('\n' + '='.repeat(50) + '\n');
        
        // 测试3: 哈利波特角色扮演
        console.log('3️⃣ 测试哈利波特角色扮演...');
        const harryTest = await testAPI('/api/test/roleplay', {
            character: '哈利波特',
            prompt: '你好哈利，能告诉我你在霍格沃茨的第一天是怎么度过的吗？'
        });
        console.log('状态码:', harryTest.status);
        console.log('响应:', JSON.stringify(harryTest.data, null, 2));
        
        if (harryTest.data.success && harryTest.data.data) {
            console.log('✅ 哈利波特角色扮演工作正常！');
            console.log('🧙‍♂️ 哈利波特回复:', harryTest.data.data);
        } else {
            console.log('❌ 哈利波特角色扮演有问题:', harryTest.data.message);
        }
        
        console.log('\n' + '='.repeat(50) + '\n');
        
        // 总结
        const tests = [basicTest, conanTest, harryTest];
        const successCount = tests.filter(test => test.data.success && test.data.data).length;
        
        console.log('📊 最终测试结果:');
        console.log(`✅ 成功: ${successCount}/3`);
        console.log(`❌ 失败: ${3 - successCount}/3`);
        
        if (successCount === 3) {
            console.log('\n🎉 所有功能完全正常！');
            console.log('✅ 基础AI对话功能正常');
            console.log('✅ 角色扮演功能正常');
            console.log('✅ 多种角色支持正常');
            console.log('✅ 语音聊天功能已就绪');
            console.log('\n🚀 系统已准备好支持多种角色的语音聊天！');
        } else if (successCount > 0) {
            console.log('\n⚠️ 部分功能正常');
            console.log('💡 建议检查API配置');
        } else {
            console.log('\n❌ 需要检查配置');
        }
        
    } catch (error) {
        console.error('❌ 测试错误:', error.message);
    }
}

runWorkingTests();

